package com.dyw.blog.service;

import com.dyw.blog.vo.ArticleBodyVo;
import com.dyw.blog.vo.params.ArticleParam;
import com.dyw.blog.vo.params.PageParams;
import com.dyw.blog.vo.Result;

/**
 * @author Devil
 * @create 2022-02-10 16:25
 */
public interface ArticleService {
    /**
     * 分页查询文章列表
     *
     * @param pageParams
     * @return
     */
    Result listArticle(PageParams pageParams);


    /**
     * 首页最热文章
     * @param limit
     * @return
     */
    Result hotArticle(int limit);

    /**
     * 最新文章
     *
     * @param limit
     * @return
     */
    Result newArticle(int limit);

    /**
     * 文章归档
     * @return
     */
    Result listArchives();

    /**
     * 通过id 查询文章内容
     * @param id
     * @return
     */
    Result findArticleById(long id);


    /**
     * 通过id 查询文章body
     * @param id
     * @return
     */
    ArticleBodyVo findArticleBodyById(Long id);

    /**
     * 发布文章
     * @param articleParam
     * @return
     */
    Result publishArticle(ArticleParam articleParam);
}
